let fs = require("fs")
let path = require("path")
let myurl = "E:/Node/node-JavaScript/node-code/00-00-00"
let url = "E:/Node/node-JavaScript/node-code/JSON数据/json.json"
//文件 遍历 将文件 的内容 路径 以及格式 以json 格式 储存 
//首先 根据 文件路径 拿到 目录下的 所有 子级 
//首先 创建一个初始数据
let obj = {
    name: "目录",
    url: "E:/Node/node-JavaScript/node-code/00-00-00",
    text: null,
    children: [

    ]
}
copyst(myurl, obj.children)// 父级的绝对路径  以及 父级下的子级

function copyst(myurl, obj) { //传入 拷贝路径 以及存放参数
    //拿到 目录下的所有子级
    let arr = fs.readdirSync(myurl)
    console.log(arr);
    //遍历数组 拿到每个子级
    myfor(arr, myurl, obj)
    //判断 路径 是文件还是目录

}

function myfor(arr, myurl, obj) { //遍历 
    arr.forEach((item,i) => {
        let url = path.join(myurl, item)
        if (fs.statSync(url).isFile()) { //文件
            //如果是文件 就放到 父级的  children 里面
            obj.push({
                name: item,
                url: url,
                text: fs.readFileSync(url, "utf-8"),
                children: null
            })

        } else { //否则是目录
            //如果是 目录 就以目录的形式放到 父级的 children 里面

            obj.push({
                name: item,
                url: url,
                text: null,
                children: []
            })

            //再次调用 拷贝方法

  
            copyst(url,obj[i].children)
            // console.log(obj[index].children);

        }
    });
}
fs.writeFileSync(url,JSON.stringify(obj),"utf-8")

/*
   arr =  [1,2,3,0]
    arr.push(0)

*/